package com.grace.dto;

import com.google.common.collect.Lists;
import com.grace.model.SysDept;
import lombok.Data;
import org.springframework.beans.BeanUtils;


import java.util.List;

/**
 * 部门层级树（中间层）
 * 把dept对象的属性值赋给dto的相应属性
 */
@Data
public class DeptLevelDto extends SysDept {
    //组成一个树形结构，Lists.newArrayList()初始化
    private List<DeptLevelDto> deptLevelDtoList = Lists.newArrayList();

    public static DeptLevelDto adapt(SysDept dept) {
        //创建对象
        DeptLevelDto dto = new DeptLevelDto();    //修改为dto
        //把dept对象的属性值赋给dto的相应属性
        //copyProperties(source, target, null, (String[]) null);
        //copyBean的工具：springframework中提供了BeanUtils.copyProperties(dept, dto);
        // 这个工具可以完成两个类相同字段的拷贝
        //这样的话我传入一个dept对象，我把它拷贝成本地的dto
        BeanUtils.copyProperties(dept, dto);
        return dto;
    }
}
